<html>

<head>
    <link rel="apple-touch-icon" sizes="180x180" href="https://img.hellogithub.com/favicon/apple-touch-icon.png">
    <link rel="android-chrome" sizes="192x192" href="https://img.hellogithub.com/favicon/android-chrome-192x192.png">
    <link rel="android-chrome" sizes="512x512" href="https://img.hellogithub.com/favicon/android-chrome-512x512.png">
    <link rel="icon" type="image/png" sizes="32x32" href="https://img.hellogithub.com/favicon/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="https://img.hellogithub.com/favicon/favicon-16x16.png">
    <link rel="icon" href="https://img.hellogithub.com/favicon/favicon.ico">

    <title>扫雷</title>
    <style type="text/css">
        .minetbl {
            border: solid #008800 2px;
            cursor: crosshair;
        }

        body {
            background-color: #000000;
            color: #aaFFaa;
        }

        input {
            background-color: #330033;
            color: #aaFFaa;
            border: solid #00FF00 1px;
            text-align: center;
        }

        select {
            background-color: #330033;
            color: #aaFFaa;
            border: solid #00FF00 1px;
            text-align: center;
        }

        #headingBox {
            position: absolute;
            top: 8px;
            left: 8px;
            z-index: 100;
            width: auto;
            overflow: visible;
        }

        H1,
        H2 {
            margin: 0px;
            padding: 0px;
        }

        #face {
            border: none;
            text-decoration: none;
            color: #FFFF00;
            font-size: 52px;
        }

        #modeBox {
            position: absolute;
            border: solid green 1px;
            top: 0px;
            right: 0px;
            z-index: 101;
            padding-top: 8px;
            padding-right: 8px;
            padding-left: 8px;
            padding-bottom: 0px;
        }

        #modeBoxHandle {
            border: solid green 1px;
            text-align: center;
            -moz-border-radius: 10 10 0 0;
        }

        #modeBoxHandleText {
            color: #44ff44;
            text-decoration: none;
        }

        .minecell {
            height: 2EM;
            width: 2EM;
            text-align: center;
            font-size: 1.5EM;
            vertical-align: center;
        }
    </style>
    <script>
        var i, j, count; // Counter variables
        var firstMove = 1; // flag to indicate if the first move is made yet
        // Create the board

        var boardRows = 9;   // these three variables represent the size of the board,
        var boardCols = 9;   // and the number of mines found on it - once the auto-
        var boardMines = 10; // build feature (and multiple diff. lvls) are used, they
        // will determine how the board is built.
        var board = new Array(boardRows);
        var flags = new Array(boardRows);
        var clockFlag = "nothing running";
        var clockAt = 0;
        var minesLeft = boardMines; // the dynamic count
        var tilesLeft = boardRows * boardCols - minesLeft;
        var totalClicks = 0; // Tracking how many clicks used so far (right and left both)
        var totalSquares = 0; // Tracking how many squares have been opened
        var hitBlankOrMine = 0; // For tracking how many "number" squares are hit before the
        // first "blank" area opens up, or a mine is hit.

        var tiles = new Array(); // Default font set: Full Emoji Support
        tiles[0] = "&nbsp;"; // Blank Space
        tiles[1] = "<span style='color:#0000FF'>1</span>";
        tiles[2] = "<span style='color:#00FF00'>2</span>";
        tiles[3] = "<span style='color:#FF0000'>3</span>";
        tiles[4] = "<span style='color:#000088'>4</span>";
        tiles[5] = "<span style='color:#008800'>5</span>";
        tiles[6] = "<span style='color:#880000'>6</span>";
        tiles[7] = "<span style='color:#008888'>7</span>";
        tiles[8] = "<span style='color:#888800'>8</span>";
        tiles[9] = "<span style='color:#008800'>	&#9971;</span>"; // Planted Flag
        tiles[10] = "<span style='color:#FFFF00'>&#128165;</span>"; // Exploded Mine
        tiles[11] = "<span style='color:#FF0000'>&#128711;</span>"; // False Flag
        tiles[12] = "<span style='color:#000000'>&#128163;</span>"; // Unexploded Mine
        tiles[13] = "<span style='color:#00FF00'>?</span>"; // Unknown marking
        tiles[14] = "&#128578;"; // Happy face
        tiles[15] = "&#128534;"; // Dead face
        tiles[16] = "&#128526;"; // Victory face


        function setMode(mode) {
            switch (mode) {
                case "Beginner":
                    boardRows = 9;
                    boardCols = 9;
                    boardMines = 10;
                    break;
                case "Intermediate":
                    boardRows = 16;
                    boardCols = 16;
                    boardMines = 40;
                    break;
                case "Expert":
                    boardRows = 16;
                    boardCols = 30;
                    boardMines = 99;
                    break;
                case "Custom":
                    boardRows = parseInt(document.forms.modes.nRows.value);
                    boardCols = parseInt(document.forms.modes.nCols.value);
                    boardMines = parseInt(document.forms.modes.nMines.value);
                default:
            };
            document.getElementById("modeTitle").innerHTML = mode + " Mode";
            document.forms.modes.nRows.value = boardRows;
            document.forms.modes.nCols.value = boardCols;
            document.forms.modes.nMines.value = boardMines;
            resetBoard();
        };



        function updateMines(incr) {
            var mineStr = "Mines:<br />";
            minesLeft += incr;
            mineStr += minesLeft;
            document.getElementById("mineCount").innerHTML = mineStr;
        };

        function updateClock() {
            var clockStr = "Time:<br />";
            clockAt += 1;
            if (clockAt < 10) {
                clockStr += "0";
            };
            if (clockAt < 100) {
                clockStr += "0";
            };
            clockStr += clockAt;
            document.getElementById("timeCount").innerHTML = clockStr;
        };



        function rebuildBoard() {
            var cR, cC;
            var tableStr = "<table class=\"minetbl\" cellspacing=\"0\" cellpadding=\"0\">\n";
            for (cR = 0; cR < boardRows; cR++) {
                tableStr += "<tr>\n";
                for (cC = 0; cC < boardCols; cC++) {
                    tableStr += "<td class=\"minecell\" id=\"c" + cR + ":" + cC + "\" style=\"border: outset #aaaaaa 0.1EM; background-color: #888888;\" onclick=\"lClick('" + cR + ":" + cC + "')\" oncontextmenu=\"return rClick('" + cR + ":" + cC + "')\">&nbsp;</td>\n";
                };
                tableStr += "</tr>";
            };
            tableStr += "</table>\n";
            document.getElementById("theTable").innerHTML = tableStr;
        };



        function resetBoard() {
            // Reset everything - the flags and board arrays, the mines, the images, and the cell style properties.
            document.getElementById("face").innerHTML = tiles[14];
            rebuildBoard();
            if (clockFlag != "nothing running") { // Stop the clock if needed.
                clearInterval(clockFlag);
            };
            clockAt = -1; // Now reset the clock to show 000
            updateClock();
            minesLeft = boardMines;
            totalClicks = 0;
            totalSquares = 0;
            hitBlankOrMine = 0;
            updateMines(0);
            firstMove = 1;
            for (i = 0; i < boardRows; i++) {
                board[i] = new Array(boardCols);
                flags[i] = new Array(boardCols);
                for (j = 0; j < boardCols; j++) {
                    board[i][j] = " ";
                    flags[i][j] = " ";
                    document.getElementById("c" + i + ":" + j).innerHTML = "&nbsp;";
                    document.getElementById("c" + i + ":" + j).style.backgroundColor = "#888888";
                    document.getElementById("c" + i + ":" + j).style.borderStyle = "outset";
                };
            };
            // Now place the mines
            for (count = 0; count < minesLeft; count++) {
                i = Math.round(Math.random() * (boardRows - 1));
                j = Math.round(Math.random() * (boardCols - 1));
                while (board[i][j] == "M") {
                    // picked bad numbers, pick new ones.
                    i = Math.round(Math.random() * (boardRows - 1));
                    j = Math.round(Math.random() * (boardCols - 1));
                };
                board[i][j] = "M";
            };
            tilesLeft = boardRows * boardCols - minesLeft;
            return false;
        };


        function lClick(whichOne) {
            // most of the gameplay goes on here.
            var row, col; // local position variables
            var nrow, ncol, neighbors, theName, theMode;
            row = parseInt(whichOne);
            col = parseInt(whichOne.substring(whichOne.indexOf(":") + 1, whichOne.length));

            if ((flags[row][col] == "F") || (flags[row][col] == "C")) {
                // don't allow clicks on flagged squares, or even count them.
                return false;
            };
            totalClicks++;
            totalSquares++;
            if (firstMove) {
                firstMove = 0; // Only ever do this once per game.
                clockFlag = setInterval("updateClock()", 1000);
                if (board[row][col] == "M") {
                    // Don't allow the user to click on a mine with their first click,
                    // if they did, then move the mine before finishing the click.
                    board[row][col] = " ";
                    nrow = Math.round(Math.random() * (boardRows - 1));
                    ncol = Math.round(Math.random() * (boardCols - 1));
                    while (board[nrow][ncol] == "M") { // make sure the new place for this
                        nrow = Math.round(Math.random() * (boardRows - 1)); // displaced mine is actually
                        ncol = Math.round(Math.random() * (boardCols - 1)); // empty first ...
                    };
                    board[nrow][ncol] = "M";
                };
            };
            // Ok, the mine's status is dealt with, now fix other things like the
            // cell's border, and figure out which display image to show.	
            document.getElementById("c" + whichOne).style.borderStyle = "solid";
            document.getElementById("c" + whichOne).style.backgroundColor = "#aaaaaa";
            if (board[row][col] == "M") {
                document.getElementById("face").innerHTML = tiles[15];
                document.getElementById("c" + whichOne).style.backgroundColor = "red";

                // Send out requests for the various "records" that can happen here:
                // 1: Most "number" squares clicked before hitting a blank area or a mine
                // 2: Most mines found before hitting a mine?
                theMode = document.forms.modes.modeSelect.options[document.forms.modes.modeSelect.selectedIndex].value;
                if (hitBlankOrMine == 0) {
                    hitBlankOrMine = 1;
                };

                clearInterval(clockFlag);
                clockFlag = "nothing running";
                firstMove = 1;
                for (nrow = 0; nrow < boardRows; nrow++) {
                    for (ncol = 0; ncol < boardCols; ncol++) {
                        if ((board[nrow][ncol] == "M") && (flags[nrow][ncol] != "F")) {
                            document.getElementById("c" + nrow + ":" + ncol).innerHTML = tiles[12];
                        };
                        if ((flags[nrow][ncol] == "F") && (board[nrow][ncol] != "M")) {
                            document.getElementById("c" + nrow + ":" + ncol).innerHTML = tiles[11];
                        };
                        flags[nrow][ncol] = "C";
                    };
                };
                document.getElementById("c" + whichOne).innerHTML = tiles[10];
            } else {
                // Not a mine! Figure out if it's next to one, or what...
                document.getElementById("c" + whichOne).innerHTML = tiles[0];
                flags[row][col] = "C";
                neighbors = neighbourCount(row, col);
                // Now neighbor count is complete...
                if (neighbors == 0) {
                    // none! Click everything around yourself, but first, send out
                    // requests for the various "records" that can happen here:
                    // 1: Most "number" squares clicked before hitting a blank area or a mine
                    theMode = document.forms.modes.modeSelect.options[document.forms.modes.modeSelect.selectedIndex].value;
                    if (hitBlankOrMine == 0) {
                        hitBlankOrMine = 1;
                    };


                    if (row != 0) { // don't scan the row above if there isn't one.
                        if (col != 0) { // don't scan left of the far left column
                            lClick("" + (row - 1) + ":" + (col - 1)); // top left
                        };
                        lClick("" + (row - 1) + ":" + (col)); // top center
                        if (col < (boardCols - 1)) { // don't scan right of the far right column
                            lClick("" + (row - 1) + ":" + (col + 1)); // top right
                        };
                    };
                    if (col != 0) { // don't scan left of the far left column
                        lClick("" + (row) + ":" + (col - 1)); // mid left
                    };
                    if (col < (boardCols - 1)) { // don't scan right of the far right column
                        lClick("" + (row) + ":" + (col + 1)); // mid right
                    };
                    if (row < (boardRows - 1)) { // don't scan the row below if there isn't one.
                        if (col != 0) { // don't scan left of the far left column
                            lClick("" + (row + 1) + ":" + (col - 1)); // bot left
                        };
                        lClick("" + (row + 1) + ":" + (col)); // bot center
                        if (col < (boardCols - 1)) { // don't scan right of the far right column
                            lClick("" + (row + 1) + ":" + (col + 1)); // bot right
                        };
                    };
                } else {
                    // show the image for the number of neighbors...
                    document.getElementById("c" + whichOne).style.backgroundColor = "#aaaaaa";
                    document.getElementById("c" + whichOne).style.borderStyle = "solid";
                    document.getElementById("c" + whichOne).innerHTML = tiles[neighbors];
                };
                tilesLeft -= 1;
                if (tilesLeft < 1) {
                    // If they've got all of the tiles without mines uncovered, they're a winner!
                    // Add the victory dance here.
                    clearInterval(clockFlag);
                    document.getElementById("face").innerHTML = tiles[16];

                    theMode = document.forms.modes.modeSelect.options[document.forms.modes.modeSelect.selectedIndex].value;



                    for (nrow = 0; nrow < boardRows; nrow++) {
                        for (ncol = 0; ncol < boardCols; ncol++) {
                            flags[nrow][ncol] = "C";
                            if (board[nrow][ncol] == "M") {
                                document.getElementById("c" + nrow + ":" + ncol).innerHTML = tiles[9];
                            };
                        };
                    };
                };
            };



        };



        function neighbourCount(row, col) {
            var crowd = 0;
            if (row > 0) { // don't look above the top row
                if (col > 0) { // don't look left of the left side
                    if (board[row - 1][col - 1] == "M") { crowd++; };
                };
                if (board[row - 1][col] == "M") { crowd++; };
                if (col < (boardCols - 1)) { // don't look right of the right side
                    if (board[row - 1][col + 1] == "M") { crowd++; };
                };
            };
            if (col > 0) { // don't look left of the left side
                if (board[row][col - 1] == "M") { crowd++; };
            };
            if (col < (boardCols - 1)) { // don't look right of the right side
                if (board[row][col + 1] == "M") { crowd++; };
            };
            if (row < (boardRows - 1)) { // don't look below the bottom
                if (col > 0) { // don't look left of the left side
                    if (board[row + 1][col - 1] == "M") { crowd++; };
                };
                if (board[row + 1][col] == "M") { crowd++; };
                if (col < (boardCols - 1)) { // don't look right of the right side
                    if (board[row + 1][col + 1] == "M") { crowd++; };
                };
            };
            return crowd;
        };


        function flagCount(row, col) {
            var crowd = 0;
            if (row > 0) { // don't look above the top row
                if (col > 0) { // don't look left of the left side
                    if (flags[row - 1][col - 1] == "F") { crowd++; };
                };
                if (flags[row - 1][col] == "F") { crowd++; };
                if (col < (boardCols - 1)) { // don't look right of the right side
                    if (flags[row - 1][col + 1] == "F") { crowd++; };
                };
            };
            if (col > 0) { // don't look left of the left side
                if (flags[row][col - 1] == "F") { crowd++; };
            };
            if (col < (boardCols - 1)) { // don't look right of the right side
                if (flags[row][col + 1] == "F") { crowd++; };
            };
            if (row < (boardRows - 1)) { // don't look below the bottom
                if (col > 0) { // don't look left of the left side
                    if (flags[row + 1][col - 1] == "F") { crowd++; };
                };
                if (flags[row + 1][col] == "F") { crowd++; };
                if (col < (boardCols - 1)) { // don't look right of the right side
                    if (flags[row + 1][col + 1] == "F") { crowd++; };
                };
            };
            return crowd;
        };



        function rClick(whichOne) {
            var nrow, ncol;
            row = parseInt(whichOne);
            col = parseInt(whichOne.substring(whichOne.indexOf(":") + 1, whichOne.length));
            if (flags[row][col] == "C") {
                if ((neighbourCount(row, col) == flagCount(row, col)) && (neighbourCount(row, col) > 0)) {
                    // same number of flags around the square as neighbours, "click" the surroundings.

                    if (row != 0) { // don't scan the row above if there isn't one.
                        if (col != 0) { // don't scan left of the far left column
                            lClick("" + (row - 1) + ":" + (col - 1)); // top left
                        };
                        lClick("" + (row - 1) + ":" + (col)); // top center
                        if (col < (boardCols - 1)) { // don't scan right of the far right column
                            lClick("" + (row - 1) + ":" + (col + 1)); // top right
                        };
                    };
                    if (col != 0) { // don't scan left of the far left column
                        lClick("" + (row) + ":" + (col - 1)); // mid left
                    };
                    if (col < (boardCols - 1)) { // don't scan right of the far right column
                        lClick("" + (row) + ":" + (col + 1)); // mid right
                    };
                    if (row < (boardRows - 1)) { // don't scan the row below if there isn't one.
                        if (col != 0) { // don't scan left of the far left column
                            lClick("" + (row + 1) + ":" + (col - 1)); // bot left
                        };
                        lClick("" + (row + 1) + ":" + (col)); // bot center
                        if (col < (boardCols - 1)) { // don't scan right of the far right column
                            lClick("" + (row + 1) + ":" + (col + 1)); // bot right
                        };
                    };
                };
                return false;
            };
            if (flags[row][col] == " ") {
                flags[row][col] = "F";
                updateMines(-1);
                document.getElementById("c" + whichOne).innerHTML = tiles[9];
                return false;
            };
            if (flags[row][col] == "F") {
                updateMines(1);
                flags[row][col] = "?";
                document.getElementById("c" + whichOne).innerHTML = tiles[13];
                return false;
            };
            if (flags[row][col] == "?") {
                flags[row][col] = " ";
                document.getElementById("c" + whichOne).innerHTML = tiles[0];
                return false;
            };
            return false;
        };


    </script>

    <!-- figure out how to add in webmineIE.css for IE users? -->
</head>

<body onload="resetBoard()">
    <div id="modeBox">
        <form name="modes" action="#" method="GET" onsubmit="return false">
            Mode:
            <select name="modeSelect" onchange="setMode(modeSelect.options[modeSelect.selectedIndex].value)">
                <option value="Beginner">Beginner</option>
                <option value="Intermediate">Intermediate</option>
                <option value="Expert">Expert</option>
                <option value="Custom">Custom</option>
            </select> &nbsp;
            Row x Col:<input type="text" name="nRows" size="2" value="9"> x <input type="text" name="nCols" size="2"
                value="9"><br />
            Mines:<input type="text" name="nMines" size="2" value="10"> &nbsp;
            <input type="button" name="goCust" value="activate custom board"
                onclick="setMode(modeSelect.options[modeSelect.selectedIndex].value)">
            <br />
        </form>
    </div>
    <div id="headingBox">
        <h1>Web Minesweeper</h1>
        <h2 id="modeTitle">Beginner Mode</h2>
    </div>
    <br clear="all" />
    <div align="center">
        <table border="0" cellspacing="0" cellpadding="0" width="240">
            <tr>
                <td id="mineCount" align="center" width="100">Mines:<br />10</td>
                <td align="center" width="40"><a href="#" onclick="return resetBoard();" id="face"
                        border="0">&#128578;</a></td>
                <td id="timeCount" align="center" width="100">Time:<br />000</td>
            </tr>
        </table>

        <br />
        <div id="theTable">
            <table class="minetbl" cellspacing="0" cellpadding="0">
                <tr>
                    <td id="c0:0" onclick="lClick('0:0')" oncontextmenu="return rClick('0:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:1" onclick="lClick('0:1')" oncontextmenu="return rClick('0:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:2" onclick="lClick('0:2')" oncontextmenu="return rClick('0:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:3" onclick="lClick('0:3')" oncontextmenu="return rClick('0:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:4" onclick="lClick('0:4')" oncontextmenu="return rClick('0:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:5" onclick="lClick('0:5')" oncontextmenu="return rClick('0:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:6" onclick="lClick('0:6')" oncontextmenu="return rClick('0:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:7" onclick="lClick('0:7')" oncontextmenu="return rClick('0:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c0:8" onclick="lClick('0:8')" oncontextmenu="return rClick('0:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c1:0" onclick="lClick('1:0')" oncontextmenu="return rClick('1:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:1" onclick="lClick('1:1')" oncontextmenu="return rClick('1:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:2" onclick="lClick('1:2')" oncontextmenu="return rClick('1:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:3" onclick="lClick('1:3')" oncontextmenu="return rClick('1:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:4" onclick="lClick('1:4')" oncontextmenu="return rClick('1:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:5" onclick="lClick('1:5')" oncontextmenu="return rClick('1:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:6" onclick="lClick('1:6')" oncontextmenu="return rClick('1:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:7" onclick="lClick('1:7')" oncontextmenu="return rClick('1:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c1:8" onclick="lClick('1:8')" oncontextmenu="return rClick('1:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c2:0" onclick="lClick('2:0')" oncontextmenu="return rClick('2:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:1" onclick="lClick('2:1')" oncontextmenu="return rClick('2:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:2" onclick="lClick('2:2')" oncontextmenu="return rClick('2:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:3" onclick="lClick('2:3')" oncontextmenu="return rClick('2:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:4" onclick="lClick('2:4')" oncontextmenu="return rClick('2:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:5" onclick="lClick('2:5')" oncontextmenu="return rClick('2:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:6" onclick="lClick('2:6')" oncontextmenu="return rClick('2:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:7" onclick="lClick('2:7')" oncontextmenu="return rClick('2:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c2:8" onclick="lClick('2:8')" oncontextmenu="return rClick('2:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c3:0" onclick="lClick('3:0')" oncontextmenu="return rClick('3:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:1" onclick="lClick('3:1')" oncontextmenu="return rClick('3:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:2" onclick="lClick('3:2')" oncontextmenu="return rClick('3:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:3" onclick="lClick('3:3')" oncontextmenu="return rClick('3:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:4" onclick="lClick('3:4')" oncontextmenu="return rClick('3:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:5" onclick="lClick('3:5')" oncontextmenu="return rClick('3:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:6" onclick="lClick('3:6')" oncontextmenu="return rClick('3:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:7" onclick="lClick('3:7')" oncontextmenu="return rClick('3:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c3:8" onclick="lClick('3:8')" oncontextmenu="return rClick('3:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c4:0" onclick="lClick('4:0')" oncontextmenu="return rClick('4:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:1" onclick="lClick('4:1')" oncontextmenu="return rClick('4:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:2" onclick="lClick('4:2')" oncontextmenu="return rClick('4:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:3" onclick="lClick('4:3')" oncontextmenu="return rClick('4:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:4" onclick="lClick('4:4')" oncontextmenu="return rClick('4:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:5" onclick="lClick('4:5')" oncontextmenu="return rClick('4:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:6" onclick="lClick('4:6')" oncontextmenu="return rClick('4:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:7" onclick="lClick('4:7')" oncontextmenu="return rClick('4:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c4:8" onclick="lClick('4:8')" oncontextmenu="return rClick('4:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c5:0" onclick="lClick('5:0')" oncontextmenu="return rClick('5:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:1" onclick="lClick('5:1')" oncontextmenu="return rClick('5:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:2" onclick="lClick('5:2')" oncontextmenu="return rClick('5:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:3" onclick="lClick('5:3')" oncontextmenu="return rClick('5:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:4" onclick="lClick('5:4')" oncontextmenu="return rClick('5:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:5" onclick="lClick('5:5')" oncontextmenu="return rClick('5:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:6" onclick="lClick('5:6')" oncontextmenu="return rClick('5:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:7" onclick="lClick('5:7')" oncontextmenu="return rClick('5:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c5:8" onclick="lClick('5:8')" oncontextmenu="return rClick('5:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c6:0" onclick="lClick('6:0')" oncontextmenu="return rClick('6:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:1" onclick="lClick('6:1')" oncontextmenu="return rClick('6:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:2" onclick="lClick('6:2')" oncontextmenu="return rClick('6:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:3" onclick="lClick('6:3')" oncontextmenu="return rClick('6:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:4" onclick="lClick('6:4')" oncontextmenu="return rClick('6:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:5" onclick="lClick('6:5')" oncontextmenu="return rClick('6:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:6" onclick="lClick('6:6')" oncontextmenu="return rClick('6:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:7" onclick="lClick('6:7')" oncontextmenu="return rClick('6:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c6:8" onclick="lClick('6:8')" oncontextmenu="return rClick('6:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c7:0" onclick="lClick('7:0')" oncontextmenu="return rClick('7:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:1" onclick="lClick('7:1')" oncontextmenu="return rClick('7:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:2" onclick="lClick('7:2')" oncontextmenu="return rClick('7:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:3" onclick="lClick('7:3')" oncontextmenu="return rClick('7:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:4" onclick="lClick('7:4')" oncontextmenu="return rClick('7:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:5" onclick="lClick('7:5')" oncontextmenu="return rClick('7:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:6" onclick="lClick('7:6')" oncontextmenu="return rClick('7:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:7" onclick="lClick('7:7')" oncontextmenu="return rClick('7:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c7:8" onclick="lClick('7:8')" oncontextmenu="return rClick('7:8')" class="minecell">&nbsp;
                    </td>
                </tr>
                <tr>
                    <td id="c8:0" onclick="lClick('8:0')" oncontextmenu="return rClick('8:0')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:1" onclick="lClick('8:1')" oncontextmenu="return rClick('8:1')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:2" onclick="lClick('8:2')" oncontextmenu="return rClick('8:2')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:3" onclick="lClick('8:3')" oncontextmenu="return rClick('8:3')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:4" onclick="lClick('8:4')" oncontextmenu="return rClick('8:4')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:5" onclick="lClick('8:5')" oncontextmenu="return rClick('8:5')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:6" onclick="lClick('8:6')" oncontextmenu="return rClick('8:6')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:7" onclick="lClick('8:7')" oncontextmenu="return rClick('8:7')" class="minecell">&nbsp;
                    </td>
                    <td id="c8:8" onclick="lClick('8:8')" oncontextmenu="return rClick('8:8')" class="minecell">&nbsp;
                    </td>
                </tr>
            </table>
        </div>
    </div>
</body>

</html>